package com.taobao.api.request;

import com.taobao.api.internal.util.RequestCheckUtils;
import java.util.Map;

import com.taobao.api.ApiRuleException;
import com.taobao.api.BaseTaobaoRequest;
import com.taobao.api.internal.util.TaobaoHashMap;

import com.taobao.api.response.TmallExchangeConsigngoodsResponse;

/**
 * TOP API: tmall.exchange.consigngoods request
 * 
 * @author top auto create
 * @since 1.0, 2018.08.09
 */
public class TmallExchangeConsigngoodsRequest extends BaseTaobaoRequest<TmallExchangeConsigngoodsResponse> {
	
	

	/** 
	* 换货单号ID
	 */
	private Long disputeId;

	/** 
	* 返回字段
	 */
	private String fields;

	/** 
	* 卖家发货的快递公司
	 */
	private String logisticsCompanyName;

	/** 
	* 卖家发货的物流单号
	 */
	private String logisticsNo;

	/** 
	* 卖家发货的物流类型，100表示平邮，200表示快递
	 */
	private Long logisticsType;

	public void setDisputeId(Long disputeId) {
		this.disputeId = disputeId;
	}

	public Long getDisputeId() {
		return this.disputeId;
	}

	public void setFields(String fields) {
		this.fields = fields;
	}

	public String getFields() {
		return this.fields;
	}

	public void setLogisticsCompanyName(String logisticsCompanyName) {
		this.logisticsCompanyName = logisticsCompanyName;
	}

	public String getLogisticsCompanyName() {
		return this.logisticsCompanyName;
	}

	public void setLogisticsNo(String logisticsNo) {
		this.logisticsNo = logisticsNo;
	}

	public String getLogisticsNo() {
		return this.logisticsNo;
	}

	public void setLogisticsType(Long logisticsType) {
		this.logisticsType = logisticsType;
	}

	public Long getLogisticsType() {
		return this.logisticsType;
	}

	public String getApiMethodName() {
		return "tmall.exchange.consigngoods";
	}

	public Map<String, String> getTextParams() {		
		TaobaoHashMap txtParams = new TaobaoHashMap();
		txtParams.put("dispute_id", this.disputeId);
		txtParams.put("fields", this.fields);
		txtParams.put("logistics_company_name", this.logisticsCompanyName);
		txtParams.put("logistics_no", this.logisticsNo);
		txtParams.put("logistics_type", this.logisticsType);
		if(this.udfParams != null) {
			txtParams.putAll(this.udfParams);
		}
		return txtParams;
	}

	public Class<TmallExchangeConsigngoodsResponse> getResponseClass() {
		return TmallExchangeConsigngoodsResponse.class;
	}

	public void check() throws ApiRuleException {
		RequestCheckUtils.checkNotEmpty(disputeId, "disputeId");
		RequestCheckUtils.checkNotEmpty(fields, "fields");
		RequestCheckUtils.checkMaxListSize(fields, 100, "fields");
		RequestCheckUtils.checkNotEmpty(logisticsCompanyName, "logisticsCompanyName");
		RequestCheckUtils.checkNotEmpty(logisticsNo, "logisticsNo");
		RequestCheckUtils.checkNotEmpty(logisticsType, "logisticsType");
	}
	

}